<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组去重</title>
    <script>
        const arr = [1, 2, 1, 2, 2, 3, 3, 4, 5, 6, 6]

        /*
        法一：从第一个往后取元素，将取出的元素与该元素后面的元素进行比较，若相同，则删除后面的元素
        */
        
        for (let i = 0; i < arr.length; i++) {
            for (let j = i + 1; j < arr.length; j++) {
                if (arr[i] === arr[j]) {
                    arr.splice(j, 1)
                }
                /*
                若出现连续两个相同需要删除数字，第一个数字被删，第二个补上，第二个数字位置不会重复比较，导致错误
                则只要我们将该位置再比较一次就会避免错误
                */
                j--
            }
        }
        console.log(arr)

        //简化版
        // for(let i = 0; i < arr.length; i++){
        //     //第一个出现的数不找，所以查找起始位置要+1
        //     let result = arr.indexOf(arr[i],i+1)
        //     if(result!=-1){
        //         arr.splice(result,1)
        //         i--
        //     }
        // }
        // console.log(arr)

        /*
        法二，不破坏原数组
        将原数组里的数循环遍历，看能否在arr2里找到，找不到则添加进arr2里
        */
        // const arr2 = []
        // for (let i of arr) {
        //     if (arr2.indexOf(i) === -1) {
        //         arr2.push(i)
        //     }
        // }
        // console.log(arr2)

    </script>
</head>

<body>

</body>

</html>